The present invention relates to data processing, and more particularly to analyzing user sessions of network applications.
A network such as the Internet usually includes client computers (“clients”) and server computers (“servers”). A client and server are generally remote from each other and typically communicate through connections of the network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
Computer programs that run in a network environment are generally referred to as network applications. A network application can run on either a client, a server, or both a client and a server. One example of a network application is a Web browser, or, simply, a browser. A browser is a program that runs on a client and uses Hypertext Transfer Protocol (“HTTP”) or Secure Hypertext Transfer Protocol (“S-HTTP”) to exchange information with servers. Another example of a network application is an enterprise application hosted by a server. The enterprise application provides information or performs some function in response to interaction with one or more clients.
In running a network application, a client usually requests information from a server. In response to each request, the server usually provides information to the client. A client being operated by a human operator can, for example, use a browser to access a Web page of a site hosted by a server. In response to input from the human operator, the client usually sends a request for the Web page to the server. In response to the request, the server accesses the requested Web page and sends a response that includes the requested page. When the client receives the response from the server, the client can display the Web page for the human operator to view. In response to further input from the human operator, the client can send another request to the server.
The information exchanged between a server and a client usually includes field names and field values. When the Web page includes one or more fields, for example, the request and response can each include field names and field values of the fields.
In general, a particular set of communications between a server and a client will be referred to in this specification as a user session. The set can be defined in different ways. A user session generally includes a series of request sent by a client to a server, and a series of responses sent from the server to the client in response to the requests. Generally, requests and responses of a user session are prompted by some human interaction but need not be so.
Some user sessions can use a disconnected protocol. That is, the client and server are not in active communication after the server responds to a particular request from the client. They are disconnected after each pair of request and corresponding response. The client must establish a new connection with the server after each hit. HTTP/1.0 is one example of a disconnected protocol.